import api from "@/api/apiServer";
import { filterDate } from "@/unit/tool";
let sourceData;
async function getData(parentCode) {
  let res = await api.DictFindByCode({ parentCode });
  sourceData = res.data;
}
getData("dict.source");

// 格式化数据来源
function caseSource(value, option) {
  let result = option.filter((item) => {
    return item.id === value;
  });

  if (result.length > 0) {
    return result[0].dictName;
  } else {
    return "";
  }
}

const workColumns = [
  {
    title: "序号",
    dataIndex: "index",
    key: "index",
    customRender: (text, record, index) => `${index + 1}`,
    align: "center",
  },
  {
    title: "工序序号",
    dataIndex: "workStageId",
    key: "workStageId",
    align: "center",
  },
  {
    title: "工序名称",
    dataIndex: "workStageName",
    key: "workStageName",
    align: "center",
  },
  // {
  //   title: "下达数量",
  //   dataIndex: "orderQuantity",
  //   key: "orderQuantity",
  //   align: "center",
  // },
  // {
  //   title: "完成数",
  //   dataIndex: "finishQuantity",
  //   key: "finishQuantity",
  //   align: "center",
  // },
  // {
  //   title: "接受数",
  //   dataIndex: "acceptQuantity",
  //   key: "acceptQuantity",
  //   align: "center",
  // },
  // {
  //   title: "报废数",
  //   dataIndex: "scrapQuantity",
  //   key: "scrapQuantity",
  //   align: "center",
  // },
  // {
  //   title: "工单价",
  //   dataIndex: "workUnitPrice",
  //   key: "workUnitPrice",
  //   align: "center",
  // },
  {
    title: "工序内容",
    dataIndex: "workStageContent",
    key: "workStageContent",
    align: "center",
  },
  {
    title: "工序条码",
    dataIndex: "barCode",
    key: "barCode",
    align: "center",
  },
  {
    title: "负责工人",
    dataIndex: "responsiblePerson",
    key: "responsiblePerson",
    align: "center",
  },
  {
    title: "开始时间",
    dataIndex: "createTime",
    key: "createTime",
    align: "center",
    customRender: (text, record, index) => {
      return filterDate(text);
    },
  },
  {
    title: "机床",
    dataIndex: "equipNums",
    key: "equipNums",
    align: "center",
  },
  {
    title: "加工部门",
    dataIndex: "userDepartment",
    key: "userDepartment",
    align: "center",
  },
  // {
  //   title: "操作",
  //   dataIndex: "action",
  //   align: "center",
  //   scopedSlots: { customRender: "action" },
  // },
];

const orderAddColumns = [
  {
    title: "商品编号",
    dataIndex: "goodsCode",
    key: "goodsCode",
    align: "center",
  },
  {
    title: "商品名称",
    dataIndex: "goodsName",
    key: "goodsName",
    align: "center",
  },
  {
    title: "规格",
    key: "specifications",
    dataIndex: "specifications",
    align: "center",
  },
  {
    title: "计量单位",
    key: "dictName",
    dataIndex: "dictName",
    align: "center",
  },
  {
    title: "库存总数量",
    key: "existingQuantity",
    dataIndex: "existingQuantity",
    align: "center",
    scopedSlots: { customRender: "existingQuantity" },
  },

  {
    title: "需求数量",
    key: "planDemandQuantityNum",
    dataIndex: "planDemandQuantityNum",
    align: "center",
  },

  {
    title: "备注",
    key: "remark",
    dataIndex: "remark",
    align: "center",
  },
  {
    title: "图号",
    key: "figureNum",
    dataIndex: "figureNum",
    align: "center",
  },
];

const orderEditColumns = [
  {
    title: "商品编号",
    dataIndex: "goodsCode",
    key: "goodsCode",
    align: "center",
  },
  {
    title: "商品名称",
    dataIndex: "goodsName",
    key: "goodsName",
    align: "center",
  },
  {
    title: "规格",
    key: "specifications",
    dataIndex: "specifications",
    align: "center",
  },
  {
    title: "计量单位",
    key: "dictName",
    dataIndex: "dictName",
    align: "center",
  },

  {
    title: "需求数量",
    key: "planDemandQuantityNum",
    dataIndex: "planDemandQuantityNum",
    align: "center",
  },

  {
    title: "备注",
    key: "remark",
    dataIndex: "remark",
    align: "center",
  },
  {
    title: "图号",
    key: "figureNum",
    dataIndex: "figureNum",
    align: "center",
  },
];

const planColumns = [
  {
    title: "序号",
    dataIndex: "index",
    key: "index",
    align: "center",
    customRender: (text, record, index) => `${index + 1}`,
  },
  {
    title: "计划单号",
    dataIndex: "planNum",
    key: "planNum",
    align: "center",
  },
  {
    title: "商品编号",
    dataIndex: "goodsCode",
    key: "goodsCode",
    align: "center",
  },
  {
    title: "商品名称",
    dataIndex: "goodsName",
    key: "goodsName",
    align: "center",
  },
  // {
  //   title: "规格型号",
  //   dataIndex: "specifications",
  //   key: "specifications",
  //   align: "center",
  // },
  {
    title: "状态",
    dataIndex: "status",
    key: "status",
    align: "center",
    customRender: (text, record, index) => {
      return caseStatus(text);
    },
  },
  {
    title: "计划数量",
    dataIndex: "planQuantity",
    key: "planQuantity",
    align: "center",
  },
  {
    title: "开始时间",
    dataIndex: "planStartTime",
    key: "planStartTime",
    align: "center",
  },
  {
    title: "计划完成时间",
    dataIndex: "planEndTime",
    key: "planEndTime",
    align: "center",
  },
  // {
  //   title: "操作",
  //   dataIndex: "action",
  //   align: "center",
  //   scopedSlots: { customRender: "action" },
  // },
];

function caseStatus(status) {
  switch (status) {
    case 0:
      return "未完成";
    case 1:
      return "已完成";
  }
}

const goodColumns = [
  {
    title: "序号",
    dataIndex: "index",
    key: "index",
    customRender: (text, record, index) => `${index + 1}`,
    align: "center",
  },
  {
    title: "商品编号",
    dataIndex: "goodsCode",
    key: "goodsCode",
    align: "center",
  },
  {
    title: "商品名称",
    dataIndex: "goodsName",
    key: "goodsName",
    align: "center",
  },
  {
    title: "商品类型",
    key: "goodsTypeName",
    dataIndex: "goodsTypeName",
    align: "center",
  },
  {
    title: "计量单位",
    key: "unitName",
    dataIndex: "unitName",
    align: "center",
  },
  {
    title: "来源",
    key: "source",
    dataIndex: "source",
    align: "center",
    customRender: (text, record, index) => {
      return caseSource(text, sourceData);
    },
  },
  {
    title: "规格",
    key: "specifications",
    dataIndex: "specifications",
    align: "center",
  },
  {
    title: "品牌",
    key: "brand",
    dataIndex: "brand",
    align: "center",
  },
  {
    title: "是否生成BOM",
    key: "isUsedBom",
    dataIndex: "isUsedBom",
    customRender: (text, record, index) => {
      return caseBom(text);
    },
    align: "center",
  },
];

const teamColumns = [
  {
    title: "序号",
    dataIndex: "index",
    key: "index",
    customRender: (text, record, index) => `${index + 1}`,
    align: "center",
  },
  {
    title: "班次名称",
    dataIndex: "teamName",
    key: "teamName",
    align: "center",
  },
  {
    title: "开始时间",
    dataIndex: "startTime",
    key: "startTime",
    align: "center",
  },
  {
    title: "结束时间",
    dataIndex: "endTime",
    key: "endTime",
    align: "center",
  },
];

function caseBom(type) {
  switch (type) {
    case 0:
      return "否";
    case 1:
      return "是";
  }
}

const planModel = {
  tableKey: "ProductPlanFindPlan",
  replaceFields: {},
  name: "goodsName",
  code: "planNum",
  columns: planColumns,
  filename: "PlanModal",
  tableOption: [],
};

const teamModel = {
  replaceFields: {},
  tableKey: "shiftListPage",
  name: "teamName",
  filename: "ShiftMentModal",
  columns: teamColumns,
  tableOption: [],
};

let params = { pageNumber: 1, pageSize: 99999, deleteFlag: "N" };

async function getTeamList() {
  const res = await api.shiftListPage(params);
  teamModel.tableOption = res.data.data;
}

getTeamList();

export {
  workColumns,
  orderAddColumns,
  orderEditColumns,
  planColumns,
  planModel,
  teamModel,
  goodColumns,
};
